home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 April / Macworld (1999-04).dmg / Shareware World / Comms & Internet / WebSentinel 2.0.5 / Extras / Scripting / Scripting Read Me
Text File  |  1999-01-21  |  7KB  |  142 lines

  1. WebSentinel Scripting Read Me
  2.  
  3. About WebSentinel Scripting
  4.  
  5. There are several basic things you can do from a script, including:
  6.  
  7.   - getting information about currently defined targets or realms
  8.   - getting a list (or partial list) of users or groups from a specific target
  9.   - creating a new realm, user, or group
  10.   - modifying the attributes of an existing realm, user, or group
  11.   - deleting a realm, user, or group
  12.  
  13. The most commonly used feature here is the ability to automatically add a user and give them access to a set or realms or groups.  For example, you could add a user to WebSentinel from common CGI products such as WebSiphon, Lasso, or Tango when a user submitted a form, or role your own simple AppleScript CGI.  You could also create a script that would generate reports, detailing which users had access to which areas of the site, for example.
  14.  
  15. In order to start WebSentinel scripting, it's important to understand the basics of how WebSentinel keeps track of information.  Each item (whether it's a target, realm, user, or group) has a unique id that can be used to reference that item.  When you request a list of realms, you'll notice that each realm object contains a unique number in addition to the realm name, match string, etc.  In a script, you can keep track of this unique identifier and use it when calling other WebSentinel functions, such as changing a realm's attributes, or adding a user to a realm.
  16.  
  17. Additionally, any function that accepts a realm id or target id can also accept a realm name or target name.  Note that this is slower than sending an id, however, since WebSentinel must do the conversion for you.
  18.  
  19.  
  20. Examples
  21.  
  22. There are several simple examples on how to script WebSentinel using a variety of applications.  Until there is sufficient documentation, the best way to understand the scripting capabilities is probably to poke around in the Script Editor.  The following is a description of the items you may wish to look.
  23.  
  24. AppleScript
  25.  
  26. - Add User example: Demonstrates how to add a user to WebSentinel with access to a realm.
  27. - WebSentinel Dictionary: A copy of WebSentinel Gateway's dictionary.  This is the same as opening WebSentinel Gateway from the Open Dictionary menu item in Script Editor.
  28.  
  29. WebSiphon
  30.  
  31. - sentinel_functions.t: An include file for use with WebSiphon 1.5 or later that simplifies communicating with WebSentinel.  The file contains WebSiphon functions you can call directly from your WebSiphon templates.  Just include the file in your template, or drop the sentinel_functions.t file into your script libraries folder.
  32. - sentinel_example.t: A simple WebSiphon template that shows more involved interaction with WebSentinel by reproducing the "Lookup user" feature found in WebSentinel Admin and the web-based admin.  Just drop this file in your Templates folder or anywhere in your web server and access it from a browser.
  33.  
  34. Frontier
  35.  
  36. - WebSentinel Frontier glue: A Frontier glue file for use with WebSentinel.  Double-click on it to install it into your copy of Frontier.
  37. - Frontier Menu Sharing support: Double-click on this file to install a default menubar into Frontier.  When Frontier is running you will have access to a special "Scripts" menu from within WebSentinel Admin.
  38.  
  39. Tango
  40.  
  41. - Two simple example query documents that demonstrate adding a realm from Tango and adding a user via a simple form.  Please read the "Readme" action when opening the Tango documents in Tango Editor for details.  This files were created with Tango 2.x, and may require modification to work in Tango 3.x and later versions.
  42.  
  43.  
  44. Apple Event Reference
  45.  
  46. If you need to know the exact Apple event codes, here is a list of all the events and parameters.
  47.  
  48. Event Suite for WebSentinel                    'BeAr'
  49. Event Class for all events                        's_ec'
  50.  
  51. Count Users                                                                                    's_cu'
  52.         target id or name                                                 '----'
  53.  
  54. Coount Groups                                                                            's_cg'
  55.         target id or name                                                    '----'
  56.  
  57. Get Targets                                                                                    's_gt'
  58.   (no params)
  59.  
  60. Get Realms                                                                                        's_gr'
  61.   (no params)
  62.  
  63. Get Users                                                                                            's_gu'
  64.         target id or name                                                    's_tp'
  65.         starting with                                                                    's_sw'
  66.         max to return                                                                    's_nr'
  67.  
  68. Get Groups                                                                                        's_gg'
  69.         target id or name                                              's_tp'
  70.         starting with                                                                    's_sw'
  71.   max to return                                                                    's_nr'
  72.  
  73. Add Realm                                                                                            's_ar'
  74.   realm name                    '----'
  75.   match string                  's_mp'
  76.   GREP                          's_gp'
  77.   no access path                's_na'
  78.   notes                         's_nt'
  79.   label                         's_lp'
  80.   target id or name             's_tp'
  81.  
  82. Add User                                                                                                's_au'
  83.   username                      '----'
  84.   password                      's_pp'
  85.   realms                        's_rl'
  86.         groups                        's_gr'
  87.   notes                         's_nt'
  88.   label                         's_lp'
  89.   target id or name             's_tp'
  90.  
  91. Add Group                                                                                            's_ag'
  92.   group name                    '----'
  93.   realms                        's_rl'
  94.   notes                         's_nt'
  95.   label                         's_lp'
  96.   target id or name             's_tp'
  97.  
  98. Set Realm                                                                                            's_sr'
  99.   realm id or name              '----'
  100.   realm name                    's_np'
  101.   match string                  's_mp'
  102.   GREP                          's_gp'
  103.   no access path                's_na'
  104.   notes                         's_nt'
  105.   label                         's_lp'
  106.   target id or name             's_tp'
  107.  
  108. Set User                                                                                                's_su'
  109.   user id                       '----'
  110.   username                      's_np'
  111.   password                      's_pp'
  112.   realms                        's_rl'
  113.         groups                        's_gr'
  114.   notes                         's_nt'
  115.   label                         's_lp'
  116.   target id or name             's_tp'
  117.  
  118. Set Group                                                                                            's_sg'
  119.   group id                      '----'
  120.   group name                    's_np'
  121.   realms                        's_rl'
  122.   notes                         's_nt'
  123.   label                         's_lp'
  124.   target id or name             's_tp'
  125.  
  126. Remove Realm                                                                                's_rr'
  127.   realm id or name              '----'
  128.  
  129. Remove User                                                                                    's_ru'
  130.   user id                       '----'
  131.   target id or name             's_tp'
  132.  
  133. Remove Group                                                                                's_rg'
  134.   group id                      '----'
  135.   target id or name             's_tp'
  136.  
  137. Lookup User                                                                                    's_lu'
  138.   username                      '----'
  139.   target id or name             's_tp'
  140.  
  141.  
  142.